The present invention relates to image processing, and more specifically, to a method, a system and a computer program product for visual object detection.
Nowadays, in many fields, especially in the manufacturing field, there is a fast growing visual inspection automation demand. For example, when a smartphone part, published circuit board (PCB) product, liquid crystal display (LCD) panel, or wafer is manufactured, or when a car has finished being painted, an image of the product is captured and a defect inspection is performed on the captured image automatically. This automatic inspection improves the efficiency of finding defective products.
In the captured image, it is desirable to detect or localize a region of interest (ROI), which includes an object for which an analysis is to be performed, to better determine if there is a defect. The ROI to detect may be volatile for its appearance, and therefore typically a further classifier is needed for fine-grained recognition of the object inside the ROI. It is necessary to first localize the target ROI in order to perform further analysis such as classification via deep learning.
Currently, for detection of a ROI in an image, various methods for object detection via machine learning are proposed, such as Fast Region-based Convolutional Neural Networks (Faster-RCNN), Discriminatively Trained Part Based Models (DPM), Single Shot MultiBox Detector (SSD), et cetera. For the methods involving machine learning, labeled image data is required to train the detectors. If the ROI is small while the captured image is big, the search space will be big. Another method for detecting a ROI is classic template matching. Since defective areas may vary in appearance due to deformation or transformation, detection is made more difficult for both the template matching method and the machine learning method.